Wir werden alle unsere Übungen mit Git bearbeiten. Dies wird euch helfen, sobald ihr nicht mehr alleine an einem Projekt arbeitet oder ihr euren Code versionieren wollt (btw das solltet ihr IMMER machen). GitHub ist eine opensource Plattform, die es uns einfach ermöglicht eigene Repositories (Versionierte Ordner) zu hosten. Dazu müsst ihr, falls ihr noch keinen Account habt dort einen Account erstellen.
DISCLAIMER
Wir zeigen euch 2 Wege zur Installation von GIT. Entweder nutzt ihr den GitHub Client, der eine Graphische Oberfläche hat oder ihr nutzt das Git Command Line Interface (kurz CLI), mit dem ihr über die Kommandozeile alles machen könnt, was auch mit dem GitHub Client funktioniert. Wer noch nie mit einem Terminal gearbeitet hat sollte der Client Installation folgen und später mit dem GitHub Client arbeiten.
a) Account auf Github erstellen Anmeldung
a) Download des Github Clients Link to the Github client for Mac and Windows.
Öffne dein Terminal und gebe den folgenden Befehl ein:
a) Dieser Befehl zeigt dir welche Version von Git installiert wurde
git --version
#Erfolgsmeldung: z.B.: git version 2.34.1
#Misserfolgmeldung zsh: command not found: git
Wenn du Git nicht vorher installiert hast, installiere Git mit dem Package Manager deiner Wahl oder solltest du einen Windows Rechner haben, kannst du auch gerne dieser Installation folgen Install Git auf Windows
Mac zum Beispiel mit Homebrew
brew install git
b) Die beiden Befehle sind notwendig, damit jeder weiß wer welchen Commit gesetzt hat
git config --global user.name "Your Name"
git config --global user.email "your@email.com"
c) Damit wir eine Verbindung mit einem remote Repository brauchen müssen wir eine Secure Shell Verbindung mit GitHub aufbauen, dafür müssen wir uns einen SSH Key generieren und den bei GitHub hinterlegen. Setup SSH connection Gute Anleitung
Gib folgenden Befehl im Terminal ein
ssh-keygen -t rsa -b 4096
Letzter Schritt, füge deinen Key mit ss-add in den SSH Agent hinzu. Nutze dazu den Pfad zu deinem Privat Key
ssh-add path/to/key
Beispiel:
ssh-add/User/jbh/.ssh/id_github
Go to the following Website Repository Praktische Datenanalyse
Nun gehe auf den Reiter URL und gib folgende URL ein: julienboth/pda und wähle den lokalen Pfad, in dem du das Repository speichern möchtest. Danach klicke auf Clone. Fertig das Remote Repository ist nun auf deinem Laptop gecloned.
Verwende dein Terminal und gehe in den Ordner, in den du das Repository speichern möchtest Zum Beispiel "~/Documents/98_Lecture/pda_leuphana". Dort gibst du dann folgenden Befehl ein:
git clone git@github.com:julienboth/pda.git
Folge den Instructions im Terminal. Danach sollte das Repository in deinem Ordner erstellt worden sein
Ein Branch erstellst du, damit du dort an den Themen arbeiten kannst, ohne am Master Branch etwas zu verändern. Wir nutzen dieses Prinzip in unserer Übung, damit du ungestört an den Themen arbeiten und trotzdem die neuen Übungen konsequent herunterladen kannst. Gehe dazu einfach oben im Kontextmenü auf Branch und dann auf New Branch. Benenne den Brach gerne nach folgendem Schema vorname_nachname
Ein Branch erstellst du, damit du dort an den Themen arbeiten kannst, ohne am master branch etwas zu verändern. Wir nutzen das in der Übung, damit du ungestört an den Themen arbeiten kannst und trotzdem die neuen Übungen konsequent herunterladen kannst.
git branch vorname_nachname
Als nächstes musst du noch in den Branch wechseln. Dies solltest du jedes mal machen, wenn du anfängst zu programmieren. Achte stehts darauf, dass du in dem Branch bist bevor du deine Änderungen stagest, committest und pushed.
git checkout vorname_nachname
Sobald neue Übungsunterlagen vorhanden sind, kannst du mit einem git pull die aktuellen Änderungen von dem remote Server herunterladen und in deinen localen workspace schreiben
Dazu gehst du in deinen GitHub Client und gehst in das entsprechende Repository. In dem Fall pda und klickst auf Fetch origin, damit aktualisiert der Local Client und guckt ob es etwas Neues in dem Remote Repository gibt. In dem Fall hat er eine Änderung gesehen. Nun klickst du auf Pull origin und dein Repository hat die neusten Änderungen.
Dazu musst du in das Verzeichnis wechseln und dort einfach folgenden Befehl eingeben. Die Remote Änderungen werden dann in dein lokales Repository in dem jeweiligen Branch heruntergeladen. Klassischerweise in den Main Branch.
git pull
Der Standard workflow sieht wie folgt aus:
Hier ein Beispiel in der CLI wie der workflow aussehen kann
Nach deinen gesamten Änderungen gibst du git status ein und siehst, dass einige Änderungen modifiziert sind, das heißt diese waren schon im Repo vorher und wurden nur verändert und einige sind noch untracked, d.h. diese sind neu hinzugekommen.
Mit einem git add . fügst du alle Veränderungen am Repo in deinem Branch in den Index
Danach sehen die Änderungen grün aus und es wird beschrieben was verändert wurde
Wenn du damit zufrieden bist kannst du nun mit einem git commit -m "updated Übung1" einen Commit setzen, damit hast du diesen Commit (diese Version) in deinem lokalen Repository gesetzt und könntest jeder Zeit auf diese Version zurückspringen
Um deine Veränderungen nun noch auf den Remote Server zu pushen nutzt du einfach git push
Wenn du neue Dateien in dein Repository holen willst, kannst du mit einem git pull diese Änderungen vom Remote Repository in dein lokales Repository ziehen. Dazu solltest du in deinem derzeitigen Repository sein.
git pull
To see all the commits that were made for our project, you can use the following command:
git log
You can merge branches in situations where you want to implement the code changes that you made in an individual branch to a different branch. For example, after you fully implemented and tested a new feature in your code, you would want to merge those changes to the stable branch of your project (which is usually the default master branch).
To merge the changes from a different branch into your current branch, you can use this command:
git merge <branch-name>
Shows the differences between master and your local version
git diff